Church encoding
ラムダ抽象でデータも演算子も表現する方法
検算するならScheme言語とかで実装すればいい
計算をするにあたって簡約を進めていっても必ずしもきれいになるとは限らない
しかし等価である
これを確かめるためにはeqを適用すればいい
的なことがTaPL pp.48-49に書いてある
チャーチブール値
論理値
if文
論理演算
チャーチ数
自然数
succ, pred
四則演算
ゼロ判定
チャーチペア
タプル
チャーチリスト
メモするときの記法についてmrsekut.icon
tex記法じゃなくて普通にλx.xで書いたほうが見やすい
これの方が見やすいしタイプ数が少ない
ただし$ =_\betaとかは書きづらい
命名は普通に二文字以上の文字列にしよう
truとか
数値は0で良い気がしてる
他の方法
Scott encoding
参考
https://en.wikipedia.org/wiki/Church_encoding
『計算モデルとプログラミング』
TaPL 5章
https://syamino.hatenadiary.org/entry/20120524/p1
https://www.slideshare.net/syamino/ss-12993070
https://sirocco.hatenadiary.org/entry/20101028/1288214324
https://ericnormand.me/article/church-vs-curry-types